package com.triadsystems.cashweb.controle.conversores;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

import com.triadsystems.cashweb.modelo.persistencia.entidades.Caixa;

@FacesConverter(value="caixaConversor", forClass=Caixa.class)
public class CaixaConversor implements Converter {
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String valorTela) throws ConverterException {
		
		BigDecimal retornaValor = new BigDecimal("0.00");
		
		if ( !valorTela.equals( "" ) ) {
          if ( valorTela.startsWith( "R$ " ) ) {
        	  valorTela = valorTela.substring( 3 );
          }
          
          valorTela = valorTela.replace(".", "");
          valorTela = valorTela.replace("," , ".");
		}
		
		retornaValor = new BigDecimal(valorTela);
		
		return retornaValor;
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object valorTela) throws ConverterException {

		if (valorTela == null || valorTela.toString().trim().equals("")) {
			return "R$ 0,00";

		} else {
//			String retornaValor = String.valueOf(valorTela);
//			return "R$ " + retornaValor;
			
			NumberFormat format = DecimalFormat.getCurrencyInstance(new Locale("pt","BR"));  
			format.setMinimumFractionDigits(2);  
			
			String valorFormatado = format.format(valorTela);
			return valorFormatado;
		}
	}
}
